table of contents
REXECD(8) | System Manager's Manual | REXECD(8) |
NOME¶
rexecd
— server di
esecuzione remota
SINTASSI¶
rexecd
DESCRIZIONE¶
Rexecd
è il server per la routine
rexec(3). Il server fornisce servizi di esecuzione remota
con autenticazione basata su nomi degli utenti e password.
Rexecd
ascolta le richieste di servizio
alla porta indicata nelle specifiche del servizio ``exec''; vedere
services(5). Quando una richiesta di servizio è
ricevuta è iniziato il seguente protocollo:
- Il server legge caratteri dal socket fino a un byte NUL
(‘
\0
’). La stringa risultante è interpretata come un numero ASCII base 10. - Se il numero ricevuto al passo 1 è non-zero, esso è interpretato come numero di porta di un flusso secondario da usare per stderr. Una seconda connessione è quindi creata sulla porta specificata sulla macchina client.
- Un nome utente che termina con NUL di almeno 16 caratteri è trovato sul socket iniziale
- Una password che termina con NUL, non cifrata, di almeno 16 caratteri, è trovata sul socket iniziale.
- Un comando che termina con NUL da passare a una shell è trovato sul socket iniziale. La lunghezza del comando è limitata dal limite superiore sulla dimensione dell'elenco degli argomenti di sistema.
Rexecd
quindi valida l'utente come fatto al momento del login e, se l'autenticazione ha successo, si sposta sulla home directory dell' utente, e stabilisce le protezioni di utente e gruppo dell'utente. Se uno di questi passi fallisce la connessione è abortita e viene restituito un messaggio di diagnostica.- Viene restituito un byte NUL sul socket iniziale e la linea di comando
è passata alla shell di login normale dell'utente. La shell eredita
le connessioni della rete stabilite da
rexecd
.
DIAGNOSTICA¶
Tranne che per l'ultimo elencato in precedenza, tutti i messaggi di diagnostica sono restituiti sul socket inziale, dopo di che tutte le connessioni di rete sono chiuse. Un errore è indicato con un byte iniziale con un valore di 1 (lo 0 è restituito al passo 7 precedente in seguito al completamento con successo di tutti i passi precedenti all' esecuzione del comando).
- username too long
- Il nome è più lungo di 16 caratteri.
- password too long
- La password è più lunga di 16 caratteri.
- command too long
- La linea di comando passata supera la dimensione dell'elenco argomenti (come configurato nel sistema).
- Login incorrect.
- Non esiste alcun campo nel file delle password per il nome utente.
- Password incorrect.
- E' stata fornita una password errata.
- No remote directory.
- Il comando chdir nella home directory è fallito.
- Try again.
- Un fork del server è fallito.
- <shellname>: ...
- La shell di login dell'utente non può essere avviata. Questo messaggio è restituito sulla connessione associata con stderr, e non è preceduto da un byte flag.
VEDERE ANCHE¶
BUG¶
Indicare ``Login incorrect'' invece che ``Password incorrect'' è una falla di sicurezza che permette alle persone di cercare nel sistema utenti con password nulla.
Un servizio per permettere a tutti gli scambi di dati e password di essere cifrati deve essere presente.
STORIA¶
Il comando rexecd
è apparso in
4.2BSD.
1 giugno 1994 | BSD 4.2 |